iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
自我挑戰組

寫程式帶給我的無形快樂系列 第 28

當個好編劇,產出好腳本 - Shell Script (上)

  • 分享至 

  • xImage
  •  

Shell scripts 是自動管理系統的好幫手,將一些指令彙整起來,一次執行


前言

硬體和使用者沒辦法直接溝通,需要靠核心kernel 來控制
而我們透過 Shell 將指令傳送給 kernel

Linux Architecture
圖摘自What is Shell in Linux?


Shell ?

Shell 為直譯器(interpreter),是我們和作業系統的構通橋樑,它將輸入的命令翻譯成機器語言。

# 印出作業系統可以使用的 shell
cat /etc/shells

常見 Shell

Shell 簡介
Bash Bourne Again Shell 的縮寫
Zsh Z shell,macOS 目前的預設 Shell
Fish Friendly interactive shell 的縮寫

Zsh 可以使用 Oh My ZshZim 的 Framework,外觀主題可以使用 powerlevel10k
Fish 則可以使用 Oh My Fish Framework

Shell script 是針對 shell 寫的純文字檔腳本,通常用 .sh 來做它的副檔名


基本用法

檔案管理

ls 列出所在目錄的所有檔案和資料夾
pwd 顯示目前所在目錄
cat 查看檔案內容
cp 複製檔案
mv 更改檔案
rm 刪除檔案

目錄管理

cd ~ 切換到 Home 目錄
cd - 切換到上一次到的目錄
mkdir 建立目錄
rmdir 刪除目錄
mv 更改目錄名稱

更多指令以及 option 可以參考 tutorialspoint 的 UNIX / LINUX Tutorial


觀摩別人怎麼用

指令太多,很容易學完就忘...
先觀摩別人怎麼用,加深印象,未來出現適當的時機,就可以派上用場

需求創造更深一層的學習

仔細觀察可以看到專案的根目錄通常有一個 scripts 資料夾 (三大框架都有)

Angular scripts
React scripts
Vue scripts

Angular scripts

一般來說,script 可以用 shell 或是 node.js

不過為了刻意練習 shell script
下一篇會根據 vue-good-table-next 這個 package 的 release.sh 介紹用到的指令


最後小結:

『 需求創造技能,不是我不會,是還沒有需求 』

倒數三天,信心喊話!


參考資源

What is Shell in Linux?
鳥哥 - 學習 Shell Scripts
Which Linux Shell Is Best? 5 Common Shells Compared


上一篇
巨人肩膀借我站一下 - Bitbucket Pipelines (下)
下一篇
當個好編劇,產出好腳本 - Shell Script (下)
系列文
寫程式帶給我的無形快樂30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言